package com.xinke.module.system.model.vo.mail;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;

@Schema(description = "管理后台 - 邮箱账号新增/修改 Request VO")
@Data
public class MailAccountSaveReqVO {

    @Schema(description = "主键id", requiredMode = Schema.RequiredMode.REQUIRED, example = "22685")
    private Long mailAcctId;

    @Schema(description = "邮箱", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "邮箱不能为空")
    private String mailAddress;

    @Schema(description = "用户名", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
    @NotEmpty(message = "用户名不能为空")
    private String userName;

    @Schema(description = "密码", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "密码不能为空")
    private String password;

    @Schema(description = "SMTP 服务器域名", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotEmpty(message = "SMTP 服务器域名不能为空")
    private String smtpHost;

    @Schema(description = "SMTP 服务器端口", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "SMTP 服务器端口不能为空")
    private Integer smtpPort;

    @Schema(description = "是否开启 SSL", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "是否开启 SSL不能为空")
    private Integer sslEnable;

    @Schema(description = "是否开启 STARTTLS", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "是否开启 STARTTLS不能为空")
    private Integer starttlsEnable;

}